{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn import svm, datasets\n",
    "from sklearn.preprocessing import normalize\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "from sklearn.metrics import roc_curve, auc\n",
    "\n",
    "\n",
    "iris = datasets.load_iris()\n",
    "x = normalize(iris.data)\n",
    "y = iris.target\n",
    "x_train, x_test, y_train, y_test_raw = train_test_split(x, y, test_size=0.3, random_state=1)\n",
    "y_test = np.zeros((len(y_test_raw),3))\n",
    "for i in range(len(y_test_raw)):\n",
    "    y_test[i,y_test_raw[i]]=1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "param_grid = {\"C\":[0.001,0.01,0.1,1,10], 'kernel':['rbf'], 'decision_function_shape':['ovr'],\"gamma\":[0.001,0.01,0.1,1,10,100,200]}\n",
    "grid_search = GridSearchCV(svm.SVC(), param_grid, cv=5)\n",
    "grid_search.fit(x_train,y_train)\n",
    "best_para = grid_search.best_params_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "classifier = svm.SVC(**best_para)\n",
    "classifier.fit(x_train,y_train)  \n",
    "y_score = classifier.decision_function(x_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "微平均"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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OAUFAADIVAEbCTOzaEkDJDWRtFXSUjOb7Jxbk+6wFpIq+v5cI+kD39+e2n0kl5p82F1rdv+p8eM7qVWry72OBAAAwkwgR8LqStrgnPvNOXdC0mhJbU47po2kYS7NN5IKmJnnV7/u8Vk7/byziCZP7kwBAwAAARHINWElJW1Jt71Vfx/lyuiYkpJ2pD/IzO6WdLcklSlTJtODnu6/baZr64F8atTs5YA/FwAAiEyBLGEZLaJyF3CMnHODJA2SpDp16vxtf2ar+NoeVQz0kwAAgIgWyBK2VVLpdNulJG2/gGMAAPBbUlKStm7dqmPHjnkdBREkNjZWpUqVUrZs2fy+TyBL2FJJFc2snKRtkjpL6nraMZMl9TWz0UqbqjzgnNshAAAu0NatW5U3b16VLVuWd7YjSzjntGfPHm3dulXlypXz+34BK2HOuWQz6ytppqRoSZ84534ys3t9+wdKmiappaQNko5K6h2oPACAyHDs2DEKGLKUmalw4cLatWvXed0voCdrdc5NU1rRSn/bwHQfO0l9ApkBABB5KGDIahfyby6gJ2sFAABAxihhAABksujoaNWqVUvVq1dX69attX///lP7fvrpJ8XHx+vyyy9XxYoV9dJLLyltYijN9OnTVadOHVWpUkWVK1fWY4895sFncHYrVqzQnXfe6XWMM1q0aJFq166tmJgYjR079ozHLV++XFdccYUqVKigBx544NTrcPz4cXXq1EkVKlTQNddco02bNkmSdu3apebNm2daTkoYAACZLGfOnFq5cqVWr16tQoUKacCAAZKkxMRE3XzzzXrqqae0bt06/fDDD/r666/1/vvvS5JWr16tvn37asSIEVq7dq1Wr16t8uXLZ2q25OTki36MV155Rf369cvS5zwfZcqU0ZAhQ9S16+nvB/yr++67T4MGDdL69eu1fv16zZgxQ5L08ccfq2DBgtqwYYMefvhhPfnkk5KkuLg4XXLJJVq8eHGm5OQC3gCA8PVWgNaGPer/KSuvu+46rVq1SpI0atQoXX/99WratKkkKVeuXHrvvffUsGFD9enTR6+//rqeeeYZVa5cWZIUExOj+++//2+PefjwYfXr10/Lli2Tmen5559X+/btlSdPHh0+fFiSNHbsWE2dOlVDhgxRr169VKhQIa1YsUK1atXShAkTtHLlShUoUECSVKFCBS1evFhRUVG6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\n",
      "text/plain": [
       "<Figure size 720x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fpr, tpr, _ = roc_curve(y_test.ravel(), y_score.ravel())\n",
    "roc_auc = auc(fpr, tpr)\n",
    "\n",
    "plt.figure()\n",
    "plt.figure(figsize=(10,10))\n",
    "plt.plot(fpr, tpr, color='darkorange',\n",
    "         lw=lw, label='ROC curve (area = %0.2f)' % roc_auc)\n",
    "plt.plot([0, 1], [0, 1], color='navy', linestyle='--')\n",
    "plt.xlabel('False Positive Rate')\n",
    "plt.ylabel('True Positive Rate')\n",
    "plt.title('ROC for muti_class')\n",
    "plt.legend(loc=\"lower right\")\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
